//
//  UIView+LH.h
//  play
//
//  Created by zhouLiHuan on 2016/12/12.
//  Copyright © 2016年 zhouLiHuan. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIView (LH)
+ (id) viewWithFrame: (CGRect)frame andBkColor: (UIColor*) color;
//在view顶部或者底部中添加横线间隔
+ (id) viewWithFrame: (CGRect)frame andBkColor: (UIColor*) color haveTopLine:(BOOL)istopLine haveBotttomLine:(BOOL)isBottomLine;
//设置边框和圆角
+ (id)viewWithFrame:(CGRect)frame
         andBkColor:(UIColor *)bgcolor
     andBorderWidth:(CGFloat)borderWidth
     andBorderColor:(UIColor *)borderColor
    andCornerRadius:(CGFloat)cornerRadius;

/**
 *  给view添加圆角 和 边框
 *
 *  @param cornerRadius 圆角大小
 *  @param borderColor  边框颜色
 */
- (void)addCornerRadius:(CGFloat)cornerRadius andBorderColor:(UIColor *)borderColor;
/**
 *  添加项目默认的圆角 和 边框
 */
-(void)addCornerRadiusAndBorderLine;
/**
 * Shortcut for frame.origin.x.
 *
 * Sets frame.origin.x = left
 */
@property (nonatomic) CGFloat left;

/**
 * Shortcut for frame.origin.y
 *
 * Sets frame.origin.y = top
 */
@property (nonatomic) CGFloat top;

/**
 * Shortcut for frame.origin.x + frame.size.width
 *
 * Sets frame.origin.x = right - frame.size.width
 */
@property (nonatomic) CGFloat right;

/**
 * Shortcut for frame.origin.y + frame.size.height
 *
 * Sets frame.origin.y = bottom - frame.size.height
 */
@property (nonatomic) CGFloat bottom;

/**
 * Shortcut for frame.size.width
 *
 * Sets frame.size.width = width
 */
@property (nonatomic) CGFloat width;

/**
 * Shortcut for frame.size.height
 *
 * Sets frame.size.height = height
 */
@property (nonatomic) CGFloat height;

/**
 * Shortcut for center.x
 *
 * Sets center.x = centerX
 */
@property (nonatomic) CGFloat centerX;

/**
 * Shortcut for center.y
 *
 * Sets center.y = centerY
 */
@property (nonatomic) CGFloat centerY;

/**
 * Return the x coordinate on the screen.
 */
@property (nonatomic, readonly) CGFloat ttScreenX;

/**
 * Return the y coordinate on the screen.
 */
@property (nonatomic, readonly) CGFloat ttScreenY;

/**
 * Return the x coordinate on the screen, taking into account scroll views.
 */
@property (nonatomic, readonly) CGFloat screenViewX;

/**
 * Return the y coordinate on the screen, taking into account scroll views.
 */
@property (nonatomic, readonly) CGFloat screenViewY;

/**
 * Return the view frame on the screen, taking into account scroll views.
 */
@property (nonatomic, readonly) CGRect screenFrame;

/**
 * Shortcut for frame.origin
 */
@property (nonatomic) CGPoint origin;

/**
 * Shortcut for frame.size
 */
@property (nonatomic) CGSize size;

/**
 * Return the width in portrait or the height in landscape.
 */
@property (nonatomic, readonly) CGFloat orientationWidth;

/**
 * Return the height in portrait or the width in landscape.
 */
@property (nonatomic, readonly) CGFloat orientationHeight;

/**
 * Finds the first descendant view (including this view) that is a member of a particular class.
 */
- (UIView*)descendantOrSelfWithClass:(Class)cls;

/**
 * Finds the first ancestor view (including this view) that is a member of a particular class.
 */
- (UIView*)ancestorOrSelfWithClass:(Class)cls;

/**
 * Removes all subviews.
 */
- (void)removeAllSubviews;

/**
 * Calculates the offset of this view from another view in screen coordinates.
 *
 * otherView should be a parent view of this view.
 */
- (CGPoint)offsetFromView:(UIView*)otherView;

/**
 * Calculates the frame of this view with parts that intersect with the keyboard subtracted.
 *
 * If the keyboard is not showing, this will simply return the normal frame.
 */
//- (CGRect)frameWithKeyboardSubtracted:(CGFloat)plusHeight;

/**
 * Shows the view in a window at the bottom of the screen.
 *
 * This will send a notification pretending that a keyboard is about to appear so that
 * observers who adjust their layout for the keyboard will also adjust for this view.
 */
//- (void)presentAsKeyboardInView:(UIView*)containingView;

/**
 * Hides a view that was showing in a window at the bottom of the screen (via presentAsKeyboard).
 *
 * This will send a notification pretending that a keyboard is about to disappear so that
 * observers who adjust their layout for the keyboard will also adjust for this view.
 */
//- (void)dismissAsKeyboard:(BOOL)animated;

- (UIViewController*)viewController;

- (UIView*)findFirstResponderBeneathView:(UIView*)view;

//
// 创建一个指定大小，指定颜色的UIView
//
+ (UIView*) createViewWithFrame: (CGRect)frame andBackground: (UIColor*) bkColor;

- (UIImage *) getScreenshotImage;
@end
